import axios from 'axios'
// 引入进度条
import nprogress from 'nprogress'
// 引入进度条样式
import 'nprogress/nprogress.css'
// start:进度条开始  done:进度条结束

// 在当前模块中引入store
import store from '@/store/index'

const request = axios.create({
  // 基础路径，发请求的时候，路径当中会出现api
  baseURL: '/api',
  // 代表请求超时的时间5秒
  timeout: 5000
})

// 请求拦截器
request.interceptors.request.use((config) => {

  if (store.state.detail.uuid_token) {
    config.headers.userTempId = store.state.detail.uuid_token
  }
  // 进度条开始
  // 需要携带token 带给服务器
  if (store.state.user.token) {
    config.headers.token = store.state.user.token
  }
  nprogress.start()
  return config
})

// 响应拦截器
request.interceptors.response.use((res) => {
  // 进度条结束
  nprogress.done()
  return res.data
}, (error) => {
  return Promise.reject(new Error('faile'))
})


export default request